@echo off
chcp 65001 >nul
echo ========================================
echo    数字人服务启动脚本
echo ========================================
echo.

:: 检查Java环境
echo [1/4] 检查Java环境...
java -version >nul 2>&1
if %errorlevel% neq 0 (
    echo ❌ Java未安装或未配置到PATH环境变量
    echo 请安装Java 17或更高版本
    pause
    exit /b 1
)
echo ✅ Java环境检查通过

:: 检查Maven环境
echo.
echo [2/4] 检查Maven环境...
mvn -version >nul 2>&1
if %errorlevel% neq 0 (
    echo ⚠️  Maven未安装，将尝试使用Maven Wrapper
    if exist mvnw.cmd (
        set MVN_CMD=mvnw.cmd
        echo ✅ 找到Maven Wrapper
    ) else (
        echo ❌ 未找到Maven或Maven Wrapper
        echo 请安装Maven或确保项目包含Maven Wrapper
        pause
        exit /b 1
    )
) else (
    set MVN_CMD=mvn
    echo ✅ Maven环境检查通过
)

:: 检查配置文件
echo.
echo [3/4] 检查配置文件...
if not exist "src\main\resources\application.yml" (
    echo ❌ 未找到application.yml配置文件
    pause
    exit /b 1
)

if exist "src\main\resources\application-digital-human.yml" (
    echo ✅ 找到数字人配置文件
    echo 💡 提示：请确保已配置正确的阿里云AccessKey和智能体ID
) else (
    echo ⚠️  未找到数字人专用配置文件，将使用默认配置
)

:: 编译并启动服务
echo.
echo [4/4] 编译并启动数字人服务...
echo 正在编译项目...
%MVN_CMD% clean compile -q
if %errorlevel% neq 0 (
    echo ❌ 项目编译失败
    echo 请检查代码是否有语法错误
    pause
    exit /b 1
)

echo ✅ 编译成功
echo.
echo 🚀 正在启动数字人服务...
echo 服务将在 http://localhost:8082 启动
echo.
echo 📋 可用的API接口：
echo   POST /api/v2/digital-human/generateCall        - 生成数字人通话
echo   POST /api/v2/digital-human/describeInstance    - 查询实例信息
echo   POST /api/v2/digital-human/getRtcAuthToken     - 获取RTC Token
echo   GET  /api/v2/digital-human/config              - 获取配置信息
echo   GET  /api/v2/digital-human/health              - 健康检查
echo.
echo 按 Ctrl+C 停止服务
echo ========================================

:: 启动Spring Boot应用
%MVN_CMD% spring-boot:run -Dspring-boot.run.profiles=digital-human

echo.
echo 服务已停止
pause
